package com.jingdianjichi.subject.application.convert;

import com.jingdianjichi.subject.application.dto.SubjectCategoryDTO;
import com.jingdianjichi.subject.domain.entity.SubjectCategoryBO;
import org.mapstruct.Mapper;
import org.mapstruct.factory.Mappers;

import java.util.List;

/**
 * 题目分类DTO转换器
 */
@Mapper
public interface SubjectCategoryDTOConverter {

    SubjectCategoryDTOConverter INSTANCE = Mappers.getMapper(SubjectCategoryDTOConverter.class);

    /**
     * 将DTO转换为BO
     *
     * @param subjectCategoryDTO 题目分类DTO
     * @return 题目分类BO
     */
    SubjectCategoryBO converBoToCategoryDTO(SubjectCategoryDTO subjectCategoryDTO);

    SubjectCategoryDTO converBoToCategoryDTO(SubjectCategoryBO subjectCategoryBO);

    /**
     * 将BO转换为DTO
     *
     * @param subjectCategoryBOList 题目分类BO
     * @return 题目分类DTO
     */
    List<SubjectCategoryDTO> converBoToCategoryDTOList(List<SubjectCategoryBO> subjectCategoryBOList);


    /**
     * 将BO转换为DTO
     *
     * @param subjectCategoryBOList 题目分类BO
     * @return 题目分类DTO
     */
    List<SubjectCategoryDTO> converBoListToCategoryDTO(List<SubjectCategoryBO> subjectCategoryBOList);
}
